from django.contrib import admin

from helloWorld.models import BookTypeInfo, BookInfo

# Register your models here.
# 方法一，将模型直接注册到admin后台
admin.site.register(BookTypeInfo)
admin.site.site_header = "图书网站管理系统"


# 方法二，自定义类，继承ModelAdmin
@admin.register(BookInfo)
class BookInfoAdmin(admin.ModelAdmin):
    # 设置显示的字段
    list_display = ['id', 'bookName', 'price', 'publishDate', 'bookType']
    # 在Django中，不能直接对ForeignKey字段使用搜索功能，需要使用双下划线语法(__)来指定要搜索的关联模型中的具体字段。
    search_fields = ['bookName', 'bookType__bookTypeName']


# 重写分类方法，设置只读字段
def get_readonly_fields(self, request, obj=None):
    if request.user.is_superuser:
        self.readonly_fields = []
    else:
        self.readonly_fields = ['bookName']
    return self.readonly_fields
